package model

import "gorm.io/gorm"

type ConfigEmail struct {
	ID         int    `json:"id" gorm:"column:id"`                   // id编号
	Name       string `json:"name" gorm:"column:name"`               // 名称标识
	Account    string `json:"account" gorm:"column:account"`         // 发送端账号信息
	Host       string `json:"host" gorm:"column:host"`               // 主机名称
	Password   string `json:"password" gorm:"column:password"`       // 名称
	Port       int    `json:"port" gorm:"column:port"`               // 端口
	Personal   string `json:"personal" gorm:"column:personal"`       // 邮件别名
	Protocol   string `json:"protocol" gorm:"column:protocol"`       // 发送协议
	Enable     int8   `json:"enable" gorm:"column:enable"`           // 是否启用
	Creator    string `json:"creator" gorm:"column:creator"`         // 创建的用户
	CreateTime int64  `json:"create_time" gorm:"column:create_time"` // 创建时间
	Updator    string `json:"updator" gorm:"column:updator"`         // 修改者
	UpdateTime int64  `json:"update_time" gorm:"column:update_time"` // 更新时间
	DeleteTime int64  `json:"delete_time" gorm:"column:delete_time"` // 删除时间
}

func (m *ConfigEmail) TableName() string {
	return "config_email"
}

func GetBasicEmailColumn() {}

// 获取邮箱配置
func GetUseEmailConfig(column string, db *gorm.DB) (ConfigEmail, error) {
	var configEmail ConfigEmail
	query := db.Select(column).Table("config_email").Where("enable = 1")
	result := query.First(&configEmail)
	return configEmail, result.Error
}
